<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 正则表达式用于匹配字符串，例如我们想验证某一个字符串是否为邮箱格式，
        // 可以使用正则表达式判断；我们希望特换一片文章中的所有英文字母，
        // 可以使用正则表达式；我们想截取一片文章中的某些内容，也可以使用正则表达式。
        // 正则表达式对象RegExp是JavaScript中的内置对象，我们可以像创建数组一样创建它。
        // 用户输入          
        // var str = "2019-12-01"
        // //截取字符串
        // var reg = /^(\d{4})-(\d{2})-(\d{2})$/;        //用()实现分组的功能，每个()一个item，可看做数组
        // var result = reg.exec(str);
        // console.log(result[1]);
        // console.log(result[2]);
        // console.log(result[3]);


        // 正则表达式语法 ^开头   $结尾   []范围  {}位数   ()分组
        // +匹配1位或者多位，同{1,}
        // ?匹配0位或者1位，同{0,1}
        // .匹配所有 \字符转义   \d数字,同[0,9]    \w数字、字母、下划线
        // \s空格或换行 

        var email ="haohaipeng@163.com"
                        // haohaipeng          @163       .com
        var reg = /^(([a-zA-Z]|[0-9])(\w|\-)+)(@[a-zA-Z0-9]+)(\.[a-zA-Z]{2,4})$/;       //邮箱匹配网上搜的更严谨
        var result =reg.exec(email); 
        console.log(result)
        console.log(result[1]);
        console.log(result[2]);
        console.log(result[3]);
        console.log(result[4]);
        console.log(result[5]);

        // var reg = /123/;  //创建了一个正则表达式，这个正则表达式可以匹配字符串"123"
        // var str = "123";  //创建字符串"123"
        // console.log(reg.test(str));  //test方法可以测试字符串是否成功匹配，匹配返回true，不匹配返回false


        // var reg = /123/;
        // var str = "012345";
        // console.log(reg.test(str));  //仍然返回true


        // var reg = /123/;
        // var str = "012345";
        // console.log(reg.exec(str)); //exec方法返回一个数组，数组中包含匹配的内容，如果未匹配，返回null

        // var reg = /^123$/;  //^表示开头，$表示结尾，两个符号之间是匹配的内容
        // var str = "123";
        // console.log(reg.exec(str));

        // 正则表达式可以通过[]设定匹配的范围,代码如下
        // var reg = /[123]/;  //匹配123中的任意一个字符
        // var str = "02468";
        // console.log(reg.exec(str));

        // 我们先来确定一下邮箱的格式：

        // 5~12位的数字字母下划线开头  [a-zA-Z0-9\_]{5,12}
        // 后面接@                     @
        // 后面接2~5位的数字和字母     [a-zA-Z0-9]{2,5}
        // 后面接.                     \.
        // 后面接com                   com
        // var reg = /^[a-zA-Z0-9\_]{5,12}\@[a-zA-Z0-9]{2,5}\.com$/;
        // var str = "test123@qq.com";    //邮箱  
        // console.log(reg.exec(str));     //输出邮箱
        // console.log(reg.test(str))      //判断邮箱格式是否正确

        
    </script>
</body>

</html>